草庐IT

optimization - 在 MySQL 中高效查询 15,000,000 行表

全部标签

ruby-on-rails - ActiveRecord 查询 : where a field is not true

我想查找某个字段不正确的所有记录。用于此的有效AR语法是:Dog.where(:stray=>[false,nil])是否有更简洁的方式来查询“nottrue”?到处都必须迎合这种mysql的细微差别,这真的很糟糕。 最佳答案 命名作用域怎么样?scope:not_stray,where("strayISNULLORstray=false")然后使用:Dog.not_stray 关于ruby-on-rails-ActiveRecord查询:whereafieldisnottrue,我们在

ruby - 针对每一行的多个(15+)正则表达式解析文本正文的最佳方法是什么?

我有一段文本需要扫描,每行至少包含2部分信息,有时包含4部分信息。问题是每一行可能是15-20种不同操作中的一种。在ruby​​中,当前代码看起来像这样:text.split("\n").eachdo|line|#around20times................expressions['actions'].eachdo|pat,reg|#around20times.................这显然是“问题所在”。通过将所有正则表达式合并为一个,我确实设法使其更快(在C++中提高了50%),但这仍然不是我需要的速度——我需要快速解析数千个这些文件!现在我将它们与正则表达式

ruby - 如何优化 ActiveRecord find_in_batches 查询?

我正在使用Rails4.0.0和Ruby2.0.0。我的Post(如在博客文章中)模型与用户相关联,该用户具有用户的user_name、first_name、last_name的组合。我想迁移数据,以便通过外键(即用户ID)将帖子关联到用户。我在posts表中有大约1100万条记录。我在Linux服务器上使用rake任务运行以下代码来迁移数据。然而,我的任务一直被服务器“杀死”,大概是由于rake任务,特别是下面的代码,消耗了太多内存。我发现将batch_size降低到20并将sleep(10)增加到sleep(60)允许任务运行更长的时间,在不被杀死的情况下总共更新更多的记录,但需要

ruby - RethinkDB 单个请求中的多个查询

我正在尝试在对服务器的单个请求中执行多个RQL命令,但我可能会添加但没有成功。我试过r.union,但它只适用于序列。我真正想要的是:[r.db(..).table(..).get(id1).delete(),r.db(..).table(..).get(id2).delete(),r.db(..).table(..).insert(...)].run_all_at_once有什么办法吗?谢谢! 最佳答案 您还可以使用dor.do(r.table('test').insert({value1:"Hey"}),r.table('tes

ruby-on-rails - 如何在 Ubuntu 16.04 上安装 mysql2 [错误 : Error installing mysql2: ERROR: Failed to build gem native extension.]

这个问题在这里已经有了答案:Errorinstallingmysql2:Failedtobuildgemnativeextension(32个答案)关闭5年前。我不知道在ubuntu上安装mysql2:(sudogeminstallmysql2Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingmysql2:ERROR:Failedtobuildgemnativeextension.currentdirectory:/var/lib/gems/2.3.0/gems/mysql2-0.4.4/ext/my

ruby-on-rails - 未能安装旧的 mysql2 gem

我正在使用MacHighSierra。我在RVM中使用Ruby2.2.1。我需要将mysql2与这个RubyonRails应用程序一起使用。我确实安装了mysql5.7。我确实安装了xcode和命令行工具。我只是想让这个公司的应用程序在我的本地机器上运行。我知道我已经非常接近了,但是当我执行bundleinstall时出现最后一个错误,当我到达mysql2gem时收到以下错误:Fetchingmysql20.3.18Installingmysql20.3.18withnativeextensionsGem::Ext::BuildError:ERROR:Failedtobuildgemn

ruby-on-rails - 如何加快为 rspec 测试创建 5,000 条记录的速度?

我正在使用RubyonRails3.2.2、FactoryGirl3.1.0、FactoryGirlRails3.1.0、Rspec2.9.0和RspecRails2.9.0。为了测试我的应用程序,我必须在数据库中创建大量记录(大约5000条),但是该操作非常慢(创建记录需要10多分钟)。我这样进行:before(:each)do5000.timesdoFactoryGirl.create(:article,)endend如何改进我的规范代码以加快速度?注意:可能速度较慢是由在每个文章创建过程前后运行的(5)个文章回调引起的,但我可以跳过这些(因为我唯一需要测试的是文章和不是关联的模型

ruby-on-rails - 如何使用 Rails 在一个查询中执行多个语句?

我将RubyonRails与ActiveRecord和PostgreSQL结合使用。如何执行多个sql查询?我需要它来运行自定义迁移脚本,例如:Foo.connection.execute'20120806120823';SQL我不接受来自用户的数据,所以我不担心sql注入(inject)。类似于CLIENT_MULTI_STATEMENTS也许在MySQL中?来自MySQL/PHP文档:CLIENT_MULTI_STATEMENTS:Telltheserverthattheclientmaysendmultiplestatementsinasinglestring(separated

mysql - 在为 RoR 应用程序在 MySQL 和 Amazon 的 SimpleDB 之间做出决定时,您需要考虑什么?

我刚刚开始研究使用Amazon的SimpleDB服务作为我计划构建的RoR应用程序的数据存储的可行性。我们将为Web服务器使用EC2,并计划将EC2用于MySQL服务器。但现在的问题是,为什么不使用SimpleDB?应用程序(如果成功)需要在支持的用户数量方面具有很强的可扩展性,需要维护简单高效的代码库,并且需要可靠。我很好奇SO社区对此有何看法。 最佳答案 RubySimpleDB库不如ActiveRecord(默认的RailsDB适配器)那么完整,因此您习惯的许多功能将不存在。从好的方面来说,它是无模式的、可扩展的并且可以很好地

ruby-on-rails - rails 无法加载此类文件 -- mysql2/mysql2 (LoadError)

我是ruby​​onrails的新手,我找不到这个错误的解决方案:railss/usr/local/share/gems/gems/mysql2-0.3.13/lib/mysql2.rb:8:in`require':cannotloadsuchfile--mysql2/mysql2(LoadError)from/usr/local/share/gems/gems/mysql2-0.3.13/lib/mysql2.rb:8:in`'from/usr/local/share/gems/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in`requi